package main
import (
	"fmt"
	"os"
	"encoding/json"
	"bufio"
	"io"
)
type student struct{
	Id int	`json:"id"`
	Name string	`json:"name"`
	Sex byte	`json:"sex"`
	Age int	`json:"age"`
	Chengji []float64	`json:"chengji"`
}
func main(){
	f, err := os.Open("./测试.json")	//打开json文件
	if err != nil{
		fmt.Println("读取失败，err = ", err)
		return
	}
	defer f.Close()
	var st student
	bf := bufio.NewReader(f)	//创建一个读取缓冲区
	var buf []byte
	for i := 0; true; i++{
		buf, err = bf.ReadBytes('}')	//读取文件，遇到 } 字符截止
		if err != nil && err != io.EOF{
			fmt.Println("读取错误，err = ", err)
			return
		}else if err == io.EOF{
			break
		}
		err = json.Unmarshal(buf, &st)	//将json解析到结构体 st
		if err != nil{
			fmt.Println("err = ", err)
			return
		}
		fmt.Print("st = ", st)	//输出 st
	}
}